// 引入koa-router
const Router = require('koa2-router');
const router = new Router();
// 引入model的sql语句
const {
    getCollect,
    addCollect,
    updateCollect
} = require("../../model/api/collect");

// 引入jsonwebtoken模块
const jwt = require("jsonwebtoken");
const SECRET = "hello";

// 添加和取消收藏
router.post('/changeState',async (ctx)=>{
    const { isCollect,id } = ctx.request.body;
    // console.log(ctx.request.body);

    // 获取token
    const token = ctx.request.headers['authorization'];
    // console.log(ctx.request.headers['authorization']);

    // 解密token获取用户id
    let decoded = jwt.verify(token, SECRET);
    // console.log(decoded.ID);

    // 判断是添加还是取消
    if (isCollect){
        // 添加
        let pro = await getCollect([decoded.ID,id]);
        // 判断该用户表中是否有该商品的收藏记录
        if (pro.length===0){
            // 没有
            await addCollect([decoded.ID,id]);
        }else {
            await updateCollect([1,decoded.ID,id]);
        }
        ctx.body = {
            code: 200,
            msg: '添加成功'
        };
    }else {
        // 取消
        await updateCollect([0,decoded.ID,id])
        ctx.body = {
            code: 200,
            msg: '取消成功'
        };
    }
})

module.exports = router;